Smartphones generally carry significant computational capability in a portable and reasonably rugged form factor. A typical smartphone has features (e.g. a compass, accelerometer, and global positioning sensor) that are useful in navigation.